1. Field of the Invention
This invention relates generally to computer-controlled systems having audio playback functions, and more particularly to systems and methods for updating software.
2. Related Art
Many systems that have audio-playback capability include functions implemented by computer control. Examples include audio systems in automobiles, which may be part of a more comprehensive system that includes navigation functions, passenger comfort control functions, and other passenger and driver services. Audio systems may include computer controlled functions. Audio systems may also be connected to a bus that provides signal connectivity with one or more other systems that may perform functions under computer control.
Systems that are computer-controlled include software programmed to perform their various functions. The software provides a mechanism for adding/subtracting features, fixing bugs, or otherwise improving the function of the computer-controlled system. Systems have their software updated or upgraded using a variety of techniques. In most systems, an optical disk drive configured to retrieve data from optical disks are connected to the system and may be used to install new or updated software.
Updating or installing new software in embedded systems is typically more difficult. Typically, access is needed to the memory chips that contain the software code. If the software is “burned” into PROMs, the PROMs may simply be exchanged for PROMs containing the updated software. The software may also be downloaded into the chips without having to remove them from their PC board. For example, the software may be programmed into flash memory, or some other suitable programmable memory device. The flash memory may be re-programmed without removing the memory from their circuit board by connecting a “burner” to the system bus and controlling the bus signals to access certain memory locations and to write into the locations. The “burner” may be a circuit board, or some other device having adapted to connect to the system's bus, and having connections to an instrument that controls the bus signals and writes to the memory locations. The “burner” writes the information that makes up a new version of software, a software update, a patch or some other element of changes to the software directly into the system memory.
One problem with updating software in embedded systems is that the devices that store the software are typically difficult to access. The devices are usually mounted on circuit boards contained in enclosures that hold the system hardware. Access to the bus may be similarly restricted. For example, an audio system in a vehicle may be installed in the vehicle's dashboard thereby burying the bus with other equipment that prevents access to the audio system bus.
There is a need for systems and methods for updating or making software revisions in embedded audio systems without having to physically connect to the system hardware.